package com.itheima.tlias84.service;

import com.itheima.tlias84.dto.ReportStudentDTO;
import com.itheima.tlias84.dto.SelectStudentDetailDTO;
import com.itheima.tlias84.po.InsertStudentParam;
import com.itheima.tlias84.entity.Student;
import com.itheima.tlias84.po.SelectStudentPageParam;
import com.itheima.tlias84.po.UpdateStudentParam;
import com.itheima.tlias84.po.UpdateVioStudentParam;
import com.itheima.tlias84.utils.ResultUtil;

import java.util.List;

/**
 * 学生业务层接口
 */
public interface StudentService {
    List<Student> selectStudentAll();

    ResultUtil selectStudentByPage(SelectStudentPageParam param);

    int insertStudent(InsertStudentParam student);

    SelectStudentDetailDTO selectStudentById(Integer id);

    int updateStudent(UpdateStudentParam student);

    int updateStudentViolation(UpdateVioStudentParam param);

    int deleteStudentByIds(List<Integer> ids);

    List<ReportStudentDTO> countStudentDegree();

    ResultUtil countStudentClazz();
}
